1 REM ********************************* 2 REM * * 3 REM * PGM TITLE : READER'S SURVEY * 4 REM * PGM AUTHOR: DAVE HAMMOND * 5 REM * * 6 REM * (C)1986 VIKING TECHNOLOGIES * 7 REM * (C)1986 UPTIME MAGAZINE * 8 REM * * 9 REM ********************************* 10 : 16 : 20 PRINT CHR$(8)CHR$(14) 30 UPTIME=(8*4096)+4: DE=186 40 POKE53280,0: POKE53281,0 95 : 100 GOSUB 1000: REM *** SCREEN TEMPLATE *** 110 GOSUB 1500: REM *** SCREEN #1 *** 115 : 120 GET K$: IF K$="" THEN 120 130 IF K$=CHR$(140) THEN 550 140 IF K$<>CHR$(13) THEN 120 195 : 200 GOSUB 1600: REM *** SCREEN #2 *** 205 : 210 GET K$: IF K$="" THEN 210 220 IF K$=CHR$(140) THEN 550 230 IF K$<>CHR$(13) THEN 210 295 : 300 GOSUB 1700: REM *** SCREEN #3 *** 305 : 310 GET K$: IF K$="" THEN 310 320 IF K$=CHR$(140) THEN 550 330 IF K$<>CHR$(13) THEN 310 395 : 400 GOSUB 1800: REM *** SCREEN #4 *** 405 : 410 ML=23: GOSUB 5000: REM *** GET KBD INPUT *** 415 : 420 N$=T$: IF T$="" THEN N$="AN ANONYMOUS SOURCE" 425 : 430 GOSUB 1900: REM *** SCREEN #4 CON'T *** 435 : 440 GET K$: IF K$="" THEN 440 450 IF K$=CHR$(140) THEN 550 460 IF K$<>CHR$(13) THEN 440 465 : 500 ER=0: GOSUB 2000: REM *** OUTPUT TO PRINTER *** 505 IF ER=1 THEN GOTO 600 506 : 510 GOSUB 3000: REM *** SCREEN #5 *** 515 : 520 GET K$: IF K$="" THEN 520 530 IF K$=CHR$(140) THEN 550 540 IF K$<>CHR$(13) THEN 520 545 : 550 POKE DE,8: SYS UPTIME 595 : 596 REM *************** 597 REM PRINTER ERROR 598 REM *************** 599 : 600 GOSUB 1400: REM *** CLEAR TEXT AREA *** 605 : 610 PRINTSPC(6)" [150] [212]HERE IS A PRINTER ERROR  [155]" 620 PRINTSPC(6)"[210]ECHECK ALL OF YOUR PRINTER" 630 PRINTSPC(5)"CONNECTIONS AND THE PRINTER'S" 640 PRINTSPC(6)"PAPER SUPPLY AND TRY AGAIN." 645 : 650 GET K$: IF K$="" THEN 650 660 IF K$=CHR$(140) THEN 550 670 IF K$<>CHR$(13) THEN 650 675 : 680 GOSUB 1400: REM *** CLEAR TEXT AREA *** 685 : 690 PRINTSPC(16)"[208]RINTING" 700 PRINTSPC(12)"[210]EADER'S [211]URVEY" 710 GOTO 500: REM *** RETRY PRINTER *** 990 END 995 : 996 REM ***************** 997 REM SCREEN TEMPLATE 998 REM ***************** 999 : 1000 PRINT"[147]"; 1010 TL$="[176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]" 1020 BL$="[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189][155]" 1030 M1$="[221]": M2$=" [146][221]" 1040 M3$="[171][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][179]" 1050 C$="[158]": R$="": PRINTTL$ 1060 FOR X=1TO23 1070 PRINTM1$;C$;R$;M2$ 1080 IF X=5 THEN X=6: C$="": R$="[146]": PRINTM3$ 1090 IF X=18 THEN X=19: C$="": R$="": PRINTM3$ 1100 NEXT 1200 PRINTBL$ 1210 PRINTSPC(10)" [213]P[212]IME [158] [205]AGAZINE'S" 1220 PRINTSPC(12)"[210]EADER'S [211]URVEY" 1230 FOR X=1TO16: PRINT: NEXT 1240 PRINTSPC(7)"[208]RESS [[210][197][212][213][210][206]] TO [195]ONTINUE" 1250 PRINTSPC(4)"[208]RESS [198]8 TO [197]XIT [194]ACK TO [213]P[212]IME[155]" 1290 RETURN 1395 : 1396 REM ***************** 1397 REM CLEAR TEXT AREA 1398 REM ***************** 1399 REM : 1400 PRINT""; 1410 FOR X=1TO12 1420 PRINT"[221] [221]" 1430 NEXT 1440 PRINT"[155]"; 1450 RETURN 1495 : 1496 REM *********** 1497 REM SCREEN #1 1498 REM *********** 1499 : 1500 GOSUB 1400: REM *** CLEAR TEXT AREA *** 1505 : 1510 PRINTSPC(8)"[213]P[212]IME THE [196]ISK [205]ONTHLY[155]" 1520 PRINTSPC(2)"IS THE [159]PREMIERE[155] MAGAZINE ON A DISK" 1530 PRINTSPC(7)"FOR THE [195]OMMODORE 64/128" 1540 PRINTSPC(5)"[215]E ARE CONSTANTLY WORKING TO" 1550 PRINTSPC(8)"IMPROVE OUR PUBLICATION" 1560 PRINTSPC(11)"AND [217][207][213][155][160]CAN HELP!" 1590 RETURN 1595 : 1596 REM *********** 1597 REM SCREEN #2 1598 REM *********** 1599 : 1600 GOSUB 1400: REM *** CLEAR TEXT AREA *** 1605 : 1610 PRINTSPC(6)"[217]OU CAN HELP US STAY #1[155] BY" 1620 PRINTSPC(9)"PROVIDING YOUR INPUT: 1630 [153][166]6)"SYS(null)RAISELIST, PRINTLENRITICISMLIST, OPENLENOMMENTSLIST" 1640 [153][166]4)"ATNNYTHING THAT YOU FEEL WILL HELP" 1650 [153][166]7)"US MEET YOUR EXPECTATIONS" 1660 [153][166]14)"WITH (null)P(null)IMELIST" 1690 [142] 1695 : 1696 [143] *********** 1697 [143] SCREEN #3 1698 [143] *********** 1699 : 1700 [141] 1400: [143] *** CLEAR TEXT AREA *** 1705 : 1710 [153][166]3)"PEEKY FOLLOWING THE NEXT FEW PROMPTS" 1720 [153][166]5)"YOUR PRINTER WILL PRINT OUT A" 1730 [153][166]5)"READER'S SURVEY FORM FOR YOU." 1740 [153][166]4)"(null)LEASE TAKE THE TIME TO FILL OUT" 1750 [153][166]3)"THE SURVEY AND RETURN IT USING THE" 1760 [153][166]4)"ENCLOSED BUSINESS REPLY ENVELOPE." 1770 [153][166]4)"(null)E WILL USE THE RESULTS OF THIS" 1780 [153][166]5)"SURVEY TO DETERMINE WHAT IT IS" 1790 [153][166]3)"YOU'VE COME TO EXPECT FROM (null)P(null)IMELIST": [142] 1795 : 1796 [143] *********** 1797 [143] SCREEN #4 1798 [143] *********** 1799 : 1800 [141] 1400: [143] *** CLEAR TEXT AREA *** 1805 : 1810 [153][166]3)"RIGHT$F YOU'D LIKE TO INCLUDE YOUR NAME" 1820 [153][166]10)"ENTER IT NOW, PLEASE." 1830 [153][166]2)"(ATN [(null)VAL(null)(null)(null)(null)] WILL MAKE IT ANONYMOUS)" 1840 [153][166]4)"(null)AME:TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(" 1850 [153][166]8)"ONON*CMD"; 1860 [142] 1895 : 1896 [143] ***************** 1897 [143] SCREEN #4 CON'T 1898 [143] ***************** 1899 : 1900 [141] 5200: [143] *** CK FOR DSYWHL *** 1905 [153][166]11)"(null)EADY YOUR PRINTER" 1910 [153][166]7)"(null)RESS SYS[(null)VAL(null)(null)(null)(null)]LIST WHEN READY" 1920 [142] 1995 : 1996 [143] ******************* 1997 [143] OUTPUT TO PRINTER 1998 [143] ******************* 1999 : 2000 [159] 4,4:[160]4:S[178]ST: [143] *** ML ROUTINE TO OPEN PRINTER CHN *** 2010 [139] A[179][177]0 [167] ER[178]1: [137] 2490 2015 [159] 4,4,7 2020 [152]4,[199](10)[199](10) 2025 [152]4,""[166]11)"(null)EADER'S (null)URVEY FOR THE LENOMMODORE 64/128 "; 2027 [152]4,"(null)OL. 1 (null)O. 12" 2030 [152]4,[199](10) 2040 [152]4," (null)HIS SURVEY IS FROM ";N$;"." 2050 [152]4,[199](10)[199](0) 2100 L$[178]"TOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTO" 2105 [139] DW[178]1 [167] L$[178]"................" 2165 [152]4," ***********************************"; 2167 [152]4,"***********************************" 2170 BX$[178]"[ ] TOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTO" 2172 [139] DW[178]1 [167] BX$[178]"[ ] ....................................." 2175 [152]4,[199](10)[199](0) 2180 [152]4," (null)LEASE RATE THE FOLLOWING PROGRAMS AND CATEGORIES ON A" 2190 [152]4," SCALE BETWEEN 1 AND 10 WITH 10 BEING THE HIGHEST." 2195 [152]4,[199](10)[199](0) 2200 [152]4," ATNLPHABOPPER ";BX$ 2205 [152]4,[199](0) 2206 [152]4," CHR$O-(null)OKU ";BX$ 2207 [152]4,[199](0) 2210 [152]4," LENRYPTOGRAM ATNSST. ";BX$ 2212 [152]4,[199](0) 2214 [152]4," (null)RAVEL (null)OG ";BX$ 2215 [152]4,[199](0) 2220 [152]4," LEN(null)(null)ATN(null) ";BX$ 2225 [152]4,[199](0) 2230 [152]4," (null)PRITE VALDITOR ";BX$ 2235 [152]4,[199](0) 2240 [152]4," (null)LEN-STR$(null)(null)/64 ";BX$ 2247 [152]4,[199](0) 2250 [152]4," (null)ESAR ON (null)RACK ";BX$ 2255 [152]4,[199](0) 2260 [152]4," (null)ROGRAMMING W/(null)(null) ";BX$ 2265 [152]4,[199](0) 2266 [152]4," (null)ANDOM ATNCCESS ";BX$ 2267 [152]4,[199](0) 2270 [152]4," (null)EARNING ASC(null)(null)(null)LEFT$ ";BX$ 2271 [152]4,[199](0) 2272 [152]4," ASC(null)(null)(null)LEFT$ (null)YNTAX ";BX$ 2273 [152]4,[199](0) 2274 [152]4," (null)HAT'S LEN(null)(null)ATN(null)? ";BX$ 2275 [152]4,[199](0) 2276 [152]4," GEOLEFT$ORIZONS ";BX$ 2277 [152]4,[199](0) 2278 [152]4," (null)OFTWARE (null)EVIEWS ";BX$:[152]4,[199](0) 2280 [152]4," RIGHT$'D RATE THE ISSUE OVERALL [ ] 2285 PRINT#4,CHR$(0) 2287 PRINT#4,CHR$(0) 2300 PRINT#4," [193]NY OTHER COMMENTS OR OBSERVATIONS YOU'D CARE TO MAKE:" 2305 PRINT#4,CHR$(0) 2310 PRINT#4," ";L$;L$;L$;L$ 2315 PRINT#4,CHR$(0) 2320 PRINT#4," ";L$;L$;L$;L$ 2325 PRINT#4,CHR$(0) 2326 PRINT#4," ";L$;L$;L$;L$ 2327 PRINT#4,CHR$(0) 2328 PRINT#4," ";L$;L$;L$;L$ 2330 PRINT#4,CHR$(12) 2490 CLOSE4: RETURN 2995 : 2996 REM *********** 2997 REM SCREEN #5 2998 REM *********** 2999 : 3000 GOSUB 1400: REM CLEAR TEXT AREA 3005 : 3010 PRINTSPC(5)"[212]HANK-YOU FOR TAKING THE TIME" 3020 PRINTSPC(8)"TO PRINT OUT THE SURVEY." 3030 PRINTSPC(3)"[215]E'LL BE WAITING TO HEAR FROM YOU." 3040 PRINTSPC(2)"[208]LEASE SEND THE COMPLETED SURVEY TO" 3050 PRINTSPC(8)"[213]P[212]IME, THE [196]ISK [205]ONTHLY[155]" 3060 PRINTSPC(8)"[208][207] [194]OX 299" 3070 PRINTSPC(8)"[206]EWPORT, [210][201] 02840" 3080 RETURN 4995 : 4996 REM *********** 4997 REM KBD INPUT 4998 REM *********** 4999 : 5000 T$="": CS$="*[157]": CT=0 5010 GET K$: IF K$="" THEN 5010 5020 K=ASC(K$) 5025 IF K=140 THEN 550 5030 IF K=13 THEN 5100 5040 IF K<>20 THEN 5070 5050 IF CT=0 THEN 5010 5060 CT=CT-1: PRINT" [157][157] [157]";CS$;: T$=LEFT$(T$,CT): GOTO 5010 5070 IF CT=ML THEN 5010 5080 IF (K=32) OR (K=46) THEN 5085 5082 IF (K$>="A") AND (K$<="Z") THEN 5085 5084 IF (K$<"[193]") OR (K$>"[218]") THEN 5010 5085 T$=T$+K$: CT=CT+1: PRINTK$;: IF CT<>24 THEN PRINTCS$; 5090 GOTO 5010 5100 IF T$="" THEN PRINT"[193]NONYMOUS"; 5110 PRINT" ": RETURN 5195 : 5196 REM **************************** 5197 REM CK FOR DAISY WHEEL PRINTER 5198 REM **************************** 5199 : 5200 PRINTSPC(9)"[155][195]AN YOUR PRINTER PRINT" 5210 PRINTSPC(5)"[195]OMMODORE [199]RAPHIC CHARACTERS?" 5220 PRINTSPC(15)"[158]< [217] / [206] >[155]": PRINT"[145][145][145]"; 5230 DW=0 5240 GET K$: IF K$ = "" THEN 5240 5250 IF (K$="Y") OR (K$="[217]") THEN 5280 5255 IF K$=CHR$(140) THEN 550 5260 IF (K$<>"N") AND (K$<>"[206]") THEN 5240 5270 DW=1 5280 FOR X=1TO3: PRINT" ": NEXT 5285 PRINT"[145][145][145][145]"; 5290 RETURN